package com.sunlee.admin.api.module.sys.dao;

import com.sunlee.admin.api.module.sys.entity.SysDeptEntity;
import com.sunlee.common.core.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 部门管理
 *
 * @author sunlee
 */
@Mapper
public interface SysDeptDao extends BaseDao<SysDeptEntity> {

    /**
     * 根据部门主键集合获取部门列表
     *
     * @param params 部门主键（deptIdList）
     * @return 部门列表
     */
    List<SysDeptEntity> getList(Map<String, Object> params);

    /**
     * 根据主键查询部门
     *
     * @param id 主键
     * @return 部门信息
     */
    SysDeptEntity getById(Long id);

    /**
     * 获取所有部门的id、pid列表
     *
     * @return 部门的id、pid列表
     */
    List<SysDeptEntity> getIdAndPidList();

    /**
     * 根据部门ID，获取所有子部门ID列表
     *
     * @param id 部门ID
     * @return 所有子部门ID列表
     */
    List<Long> getSubDeptIdList(String id);

}